(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
if(true, x, y) → x
if(false, x, y) → y
odd(0) → false
odd(s(0)) → true
odd(s(s(x))) → odd(x)
half(0) → 0
half(s(0)) → 0
half(s(s(x))) → s(half(x))
if(true, x, y) → true
if(false, x, y) → false
pow(x, y) → f(x, y, s(0))
f(x, 0, z) → z
f(x, s(y), z) → if(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))
Rewrite Strategy: INNERMOST
(1) DecreasingLoopProof (EQUIVALENT transformation)
The following loop(s) give(s) rise to the lower bound Ω(n1):
The rewrite sequence
-(s(x), s(y)) →+ -(x, y)
gives rise to a decreasing loop by considering the right hand sides subterm at position [].
The pumping substitution is [x / s(x), y / s(y)].
The result substitution is [ ].
(2) BOUNDS(n^1, INF)